#define _CRT_SECURE_NO_WARNINGS 1
#include <iostream>
#include<string>
#include<stack>
#include<algorithm>
using namespace std;
class Parenthesis {
public:
    bool chkParenthesis(string A, int n)
    {
        if (n == 0) return false;

        for (int i = 0; i < n; i++)
        {
            if (st.empty())
                st.push(A[i]);
            else
            {
                if (st.top() == '(' && A[i] == ')')
                {
                    st.pop();
                }
                else
                    st.push(A[i]);
            }
        }
        return st.empty();
        // write code here
    }
private:
    stack<char> st;
};

//int main()
//{
//    Parenthesis p;
//    string s = "()(()()";
//    cout << p.chkParenthesis(s, s.size()) << endl;
//    return 0;
//}